#ifndef GAME_H
#define GAME_H
#include<vector>
#include"EnumType.h"
#include"Player.h"
#include "ResourceSet.h"
#include "DevelopmentTray.h"
class Player;

class Game{
public:
	Game();
	void choosePlayers();	// chose the number of players and set their names and color
	int rollDice();
	bool isGameEnded(vector<Player> playerVector);		//verifies if any player has reached the game maximum points limit
	// should be modified to receive resourceSet from real hex board
	ResourceSet getHexResource(int rolled);
	// should be modified to check on the real board if a player has a building in a vertex of a hex 
	void buying(string theStructure, int playerIndex);
	void playTurn();		// play turns until the end of game
private:
	int indexOfTheWinner;
	vector<Player> playerVector;
	string stringPlayerColor;		// the player's color as string
	string playerName;				// the player's name
	color playerColor;				// the player's color as enum color
	int numberOfPlayers;
	ResourceSet resourceWood;
	ResourceSet resourceSheep;
	ResourceSet resourceWheat;
	ResourceSet resourceBrick;
	ResourceSet resourceOre;
	ResourceSet roadCost;
	ResourceSet settlementCost;
	ResourceSet cityCost;
	DevelopmentTray DevTray;
	ResourceSet developmentCost;
	vector<int> rndIndexes;
	void shuffleDev();		// shuffle all development cards from the game's tray
};
#endif